package com.mlk.reback.service;

import com.mlk.busPram.po.EngBusParam;
import com.mlk.core.component.page.Pager;
import com.mlk.core.util.ServerResponse;
import com.mlk.reback.po.EngRebackTicket;
import com.mlk.reback.po.EngRebackTicketItem;
import com.mlk.reback.vo.EngRebackTicketVO;

/**
 * @since 2019-07-05
 */
public interface EngRebackTicketService {

    /**
     * 新增换购单
     * @param ticket
     * @return
     */
    ServerResponse addTicket(EngRebackTicketVO ticket);

    /**
     * 查询我的换购单
     * @param openId
     * @return
     */
    Pager queryMyReback(String openId);

    /**
     * 查询换购单的详情
     * @param ticketId
     * @return
     */
    ServerResponse queryDetail(String ticketId);

    /**
     * 分页数据查询
     * @param vo
     * @return
     */
    Pager listPage(EngRebackTicketVO vo);

    /**
     * 查看详情信息
     * @param ticketId
     * @return
     */
    Pager ticketDetail(String ticketId);

    /**
     * 接收换购
     * @param id
     * @return
     */
    ServerResponse accept(String id);

    /**
     * 完成换购
     * @param id
     * @return
     */
    ServerResponse finish(String id);

    /**
     * 添加业务参数
     * @param param
     * @return
     */
    ServerResponse addBusParam(EngBusParam param);

    /**
     * 校正业务参数
     * @param item
     * @return
     */
    ServerResponse just(EngRebackTicketItem item);

    /**
     * 智能输入
     * @param ticket
     * @return
     */
    ServerResponse AIInput(EngRebackTicket ticket);
}
